App({
  // 小程序初始化（生命周期）：全局触发一次，参数可通过wx.getLaunchOptionsSync获取
  onLaunch (object) {console.log('onLaunch 小程序初始化')},
  // 小程序启动或切前台（生命周期）：可通过wx.onAppShow绑定监听
  onShow (object) {console.log('onShow 小程序启动或切前台')},
  // 小程序切后台（生命周期）：可通过wx.onAppHide绑定监听
  onHide () {console.log('onHide 小程序切后台')},

  // 监听脚本错误或API调用错误：可通过wx.onError绑定监听
  onError (msg) {},
  // 监听页面不存在：可通过wx.onPageNotFound绑定监听
  onPageNotFound (object) {},
  // 监听未处理Promise拒绝事件：可通过wx.onUnhandledRejection绑定监听
  onUnhandledRejection (object) {},
  // 监听主题变化：可通过wx.onThemeChange绑定监听
  onThemeChange (object) {},
  
  // 其他任意全局数据或函数，通过this访问
  globalData: {
    userInfo: null
  },
})

// getApp获取全局唯一App实例。不要在App()内或调用App()前使用getApp()，使用this即可。获取到App实例后不要私自调用生命周期函数
const appInstance = getApp();
console.log(appInstance.globalData); // {userInfo: null}